/* eslint valid-jsdoc: "off" */

'use strict';

/**
 * @param {Egg.EggAppInfo} appInfo app info
 */
module.exports = appInfo => {
  /**
   * built-in config
   * @type {Egg.EggAppConfig}
   **/
  const config = exports = {};

  // use for cookie sign key, should change to your own and keep security
  config.keys = appInfo.name + '_1674217075247_8201';

  // add your middleware config here
  config.middleware = [ 'multipart' ];

  // add your user config here
  const userConfig = {
    // myAppName: 'egg',
  };
  config.multipart = {
    enable: true,
    package: 'egg-multipart',
  };
  // 添加cors配置
  config.cors = {
    origin: '*',
    Credentials: true, // 允许跨域请求携带cors
    allowMethods: 'GET,HEAD,PUT,DELETE,PATCH',
  };
  // 配置表单提交的安全策略
  config.security = {
    csrf: {
      enable: false, // 允许提交post
    },
  };
  // 数据加密的密钥
  config.jwt = {
    secret: 'mml',
    expiresIn: '1h',
  };
  // 配置mysql数据库
  config.sequelize = {
    dialect: 'mysql', // 数据库的类型
    host: 'localhost',
    port: 3306,
    database: 'hotel', // 数据库名
    username: 'root1',
    password: '123456',
    timezone: '+08:00', // 北京时区
    define: {
      // 表名不会增加复数
      freezeTableName: true,
      createdAt: false,
      updatedAt: false,
    },
    // delegate: 'myModel',
  };
  // // 配置支付宝沙箱环境
  // config.alipay = {
  //   app_id: '支付宝沙箱应用的 AppId', // 支付宝沙箱应用的 AppId
  //   notify_url: '支付宝异步通知回调地址', // 支付宝异步通知回调地址 付款成功的连接
  //   app_key: '支付宝沙箱应用的应用私钥', // 支付宝沙箱应用的应用私钥
  //   gateway: 'https://openapi.alipaydev.com/gateway.do', // 支付宝网关
  //   sign_type: 'RSA2',
  //   charset: 'utf-8',
  // };
  // 配置模板引擎
  config.view = {
    defaultViewEngine: 'nunjucks',
  };
  return {
    ...config,
    ...userConfig,
  };
};
